package org.example.order.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.example.order.entity.ShippingAddress;

import java.util.List;

public interface ShippingAddressService extends IService<ShippingAddress> {
    /**
     * 添加收货地址
     */
    ShippingAddress add(ShippingAddress shippingAddress);

    /**
     * 删除收货地址
     */
    boolean deleteById(Long id, Long userId);

    /**
     * 更新收货地址
     */
    boolean updateAddress(ShippingAddress shippingAddress);

    /**
     * 设为默认地址
     */
    boolean setDefault(Long id, Long userId);

    /**
     * 获取用户所有收货地址
     */
    List<ShippingAddress> listByUserId(Long userId);

    /**
     * 获取用户默认收货地址
     */
    ShippingAddress getDefaultAddress(Long userId);

    /**
     * 根据ID查询收货地址
     */
    ShippingAddress getById(Long id, Long userId);
}